iT邦幫忙

2023 iThome 鐵人賽

DAY 14
0
自我挑戰組

C# 和 SQL 探索之路 - 2系列 第 14

Day 14: SQL 的宣告變數與使用

  • 分享至 

  • xImage
  •  

第十四天。
在 SQL 中,可以使用 DECLARE 宣告變數,方便作為查詢的條件或查詢的預設值使用。

宣告變數與使用

使用 DECLARE 搭配 @ 符號宣告變數,並設定型別。
使用 SET 設定變數的值。

範例:

DECLARE @QueryID AS VARCHAR(20); -- 宣告變數與型別
SET @QueryID = '00001'; -- 設定變數值

SELECT ClassID, ClassName, ClassType
WHERE ClassID = @QueryID -- 相當於 WHERE ClassID = '00001'

更簡短的宣告方式如下:

DECLARE @QueryID2 AS VARCHAR(20) = 'ABCDE';

參考資料:筆記。隨手: [MS SQL] 變數宣告與使用

效能的影響

根據 Impact of SQL Variables on Performance ,使用變數作為條件式時,可能會導致執行計畫判斷時更容易誤判預測的資料量,而導致查詢效能的降低。解決方式是將放入 sp_executesql 參數化,讓 Query Optimizer 能正確預測資料量。

若宣告的變數作為查詢、連接條件,使查詢範圍大幅減少時,還是可以加快連接的速度。


上一篇
Day 13: ASP.NET: 什麼是 PostBack
下一篇
Day 15: SQL 索引簡介
系列文
C# 和 SQL 探索之路 - 230
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言